/*
 * @Author: Bonnie
 * @Date: 2021-12-03 14:48:46
 * @LastEditTime: 2021-12-20 17:20:10
 * @LastEditors: Bonnie
 * @Description:
 * @FilePath: /public_demo/vue.config.js
 */
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
let config = {
  devServer: {
    port: 8080, // 端口号
    open: true, // 启动完成自动打开
    hot: true, // 开启热替换
    hotOnly: true, // 如果模块热替换功能不生效，则不刷新网页
    compress: true, // 是否开启压缩
    // 前端跨域解决
    proxy: {
      "/serverApi": {
        target:
          "https://www.fastmock.site/mock/08e002ebed3dde51cdd5e7a73071b386/mockApi", // 代理到的接口
        changeOrigin: true, // 是否允许跨域 如果需要代理，必须写该属性
        ws: true, //ws:表示WebSocket协议
        pathRewrite: {
          // 替换，通配/serverApi的替换成对应字符
          "^/serverApi": "",
          //当你的接口中没有/serverApi字眼时，采用这种，直接替换成空即可
          //     '^/api': '/api'   //当你的接口中刚好有/api 时，采用这种方式
        },
      },
    },
  },
};

let proPlugins = [
  new UglifyJsPlugin({
    uglifyOptions: {
      compress: {
        drop_debugger: true, // 删除debugger
        drop_console: false, // 删除所有调式带有console的
        // pure_funcs: ["console.log"], // 仅仅删除console.log
      },
    },
  }),
];

if (process.env.NODE_ENV !== "development") {
  config.plugins = config.plugins.concat(proPlugins);
}

module.exports = config;
